;;;
;;; JaCoLiB
;;; Copyright (C) 2008 Alessandro Serra
;;; 
;;; This program is free software: you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
;;; the Free Software Foundation, either version 3 of the License, or
;;; (at your option) any later version.
;;; 
;;; This program is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;; 
;;; You should have received a copy of the GNU General Public License
;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
;;;

;;;; 2008-06-27 20:53:15

(defpackage #:jacolib-asd
  (:use :cl :asdf))

(in-package :jacolib-asd)

(defsystem jacolib
  :name "jacolib"
  :version "0.1"
  :depends-on 
#+abcl ("usocket" "md5" "cl-json" "parenscript")
#-abcl ("usocket" "md5" "portable-threads" "cl-json" "parenscript" "cl-log")
  :components (
               (:module package
               	:components
	        	((:file "defpackage" :depends-on ())))
               (:module core
                 :components
	               ((:file "error" :depends-on ()))
                 :depends-on ("package"))

               (:module shell
                 :components
	               ((:file "shell" :depends-on ())
	                (:file "cl-shell" :depends-on ("shell"))
	                (:file "remote-shell" :depends-on ("shell"))
	                (:file "js-shell" :depends-on ("shell" "remote-shell" "shell-server"))
	                (:file "shell-server" :depends-on ("cl-shell"))
	                (:file "shell-channel" :depends-on ("shell-server" "remote-shell")))
                 :depends-on ("core" "rpc"))
                              
               (:module json
                 :components
	               ((:file "json-serializer" :depends-on ()))
                 :depends-on ("core"))
               
               (:module rpc
                 :components
                 	((:file "rpc-request" :depends-on ())
                 	 (:file "rpc-response" :depends-on ())          	 
                 	 (:file "rpc-server" :depends-on ("rpc-request" "rpc-response"))
                 	 (:file "rpc-server-stub" :depends-on ("rpc-server"))
                 	 (:file "rpc-client-stub" :depends-on ("rpc-request" "rpc-response"))
                 	 (:file "rpc-client" :depends-on ("rpc-client-stub"))
                 	 (:file "rpc-channel" :depends-on ("rpc-client-stub" "rpc-server-stub" "rpc-client"))
                 	 )
                 :depends-on ("core" "json"))
               (:module connection
                 :components
	               ((:file "connection" :depends-on ())
	                (:file "authentication" :depends-on ())
			(:file "connector" :depends-on ("authentication" "connection")))
                 :depends-on ("package"))
               (:module rpc-connection
                 :components
	               ((:file "rpc-connection" :depends-on ()))
                 :depends-on ("connection" "rpc"))
               (:module main
                 :components
	               ((:file "main" :depends-on ()))
                 :depends-on ("rpc-connection" "shell" "connection" "jacolib"))
               (:module jacolib
                 :components
	               ((:file "jacolib" :depends-on ()))
                 :depends-on ("shell" "rpc"))
               ))
